package databases;

import java.util.ArrayList;

import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;

import com.example.agendamentoconsultas.Especialidade;
import com.example.agendamentoconsultas.Medico;
import com.example.agendamentoconsultas.Helper;

public class DsMedico {
	private SQLiteDatabase db;
	private Helper banco;
	private String tableName = "Medico";
	private String[] columns = {"_id", "nome","especialidade"};

	public DsMedico(Context context)
	{
		banco = new Helper(context);
	}
	
	public void open() throws SQLException
	{
		db = banco.getWritableDatabase();
	}
	
	public void close()
	{
		db.close();
	}
	
	public ArrayList<Medico> getAll()
	{
		ArrayList<Medico> medicos = new ArrayList<Medico>();
		
		Cursor cursor = db.query(tableName, columns, null, null, null, null, null);
		
		cursor.moveToFirst();
		while(!cursor.isAfterLast())
		{
			medicos.add(fromCursor(cursor));
			cursor.moveToNext();
		}
		
		cursor.close();
		return medicos;
	}

	public ArrayList<Medico> getPorEsp(Especialidade esp)
	{
		ArrayList<Medico> medicos = new ArrayList<Medico>();
		
		Cursor cursor = db.query(tableName, columns, "especialidade=" + esp.getId(), null, null, null, null);
		
		cursor.moveToFirst();
		while(!cursor.isAfterLast())
		{
			medicos.add(fromCursor(cursor));
			cursor.moveToNext();
		}
		
		cursor.close();
		return medicos;
	}
	
	private Medico fromCursor(Cursor cursor)
	{
		return new Medico(cursor.getLong(0), cursor.getString(1));
	}


}
